(0) Obligation:

The Runtime Complexity (innermost) of the given CpxTRS could be proven to be BOUNDS(1, n^1).


The TRS R consists of the following rules:

f(f(x)) → f(c(f(x)))
f(f(x)) → f(d(f(x)))
g(c(x)) → x
g(d(x)) → x
g(c(h(0))) → g(d(1))
g(c(1)) → g(d(h(0)))
g(h(x)) → g(x)

Rewrite Strategy: INNERMOST

(1) DependencyGraphProof (BOTH BOUNDS(ID, ID) transformation)

The following rules are not reachable from basic terms in the dependency graph and can be removed:
f(f(x)) → f(c(f(x)))
f(f(x)) → f(d(f(x)))

(2) Obligation:

The Runtime Complexity (innermost) of the given CpxTRS could be proven to be BOUNDS(1, n^1).


The TRS R consists of the following rules:

g(c(h(0))) → g(d(1))
g(d(x)) → x
g(h(x)) → g(x)
g(c(x)) → x
g(c(1)) → g(d(h(0)))

Rewrite Strategy: INNERMOST

(3) CpxTrsMatchBoundsProof (EQUIVALENT transformation)

A linear upper bound on the runtime complexity of the TRS R could be shown with a Match Bound [MATCHBOUNDS1,MATCHBOUNDS2] of 2.
The certificate found is represented by the following graph.
Start state: 1
Accept states: [2]
Transitions:
1→2[g_1|0, h_1|1, c_1|1, 0|1, d_1|1, 1|1, g_1|1, 1|2]
1→3[g_1|1]
1→5[g_1|1]
1→7[h_1|2]
2→2[c_1|0, h_1|0, 0|0, d_1|0, 1|0]
3→4[d_1|1]
4→2[1|1]
5→6[d_1|1]
6→7[h_1|1]
7→2[0|1]

(4) BOUNDS(1, n^1)